ãŠã§ãã¢ã¯ã»ã·ããªãã£ã«é¢ããå æ¬çãªã¬ã€ãããã¹ãŠã®ãŠãŒã¶ãŒã®å æ¬æ§ã確ä¿ãããããã¹ã¯ãªãŒã³ãªãŒããŒãšã®äºææ§ãç®æãããŠã§ããµã€ãã®æé©åã«çŠç¹ãåœãŠãŸãã
ãŠã§ãã¢ã¯ã»ã·ããªãã£ïŒã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã®ããã®ãŠã§ããµã€ãæé©å
仿¥ã®ããžã¿ã«æä»£ã«ãããŠããŠã§ãã¢ã¯ã»ã·ããªãã£ã¯åãªããããã°è¯ããã®ãã§ã¯ãªããåºæ¬çãªèŠä»¶ã§ããã¢ã¯ã»ã·ãã«ãªãŠã§ããµã€ãã¯ãã¹ã¯ãªãŒã³ãªãŒããŒã«äŸåãã人ã ãå«ããé害ãæã€äººã ããŠã§ããèªç¥ãçè§£ãæäœããããŠå¯Ÿè©±ã§ããããšãä¿èšŒããŸãã
ãã®å æ¬çãªã¬ã€ãã§ã¯ãã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã®ããã«ãŠã§ããµã€ããæé©åããå ·äœçãªæ¹æ³ãæãäžããäžå¯æ¬ ãªãã¯ããã¯ããã¹ããã©ã¯ãã£ã¹ããããŠå®äžçã§ã®äŸã解説ããŸãã
ã¹ã¯ãªãŒã³ãªãŒããŒãšã¯ïŒ
ã¹ã¯ãªãŒã³ãªãŒããŒã¯ãã³ã³ãã¥ãŒã¿ãŒç»é¢äžã®ããã¹ãããã®ä»ã®èŠçŽ ãé³å£°ãç¹ååºåã«å€æããæ¯æŽæè¡ã§ããèŠèŠé害ãæã€äººã ãããžã¿ã«ã³ã³ãã³ãã«ã¢ã¯ã»ã¹ãã察話ããããšãå¯èœã«ããŸãã代衚çãªã¹ã¯ãªãŒã³ãªãŒããŒã«ã¯ä»¥äžã®ãããªãã®ããããŸãïŒ
- JAWS (Job Access With Speech): Windowsã§åºã䜿çšãããŠããã¹ã¯ãªãŒã³ãªãŒããŒã
- NVDA (NonVisual Desktop Access): Windowsçšã®ç¡æãã€ãªãŒãã³ãœãŒã¹ã®ã¹ã¯ãªãŒã³ãªãŒããŒã
- VoiceOver: macOSããã³iOSã«å èµãããŠããAppleã®ã¹ã¯ãªãŒã³ãªãŒããŒã
- ChromeVox: Google Chromeããã³Chrome OSçšã®ã¹ã¯ãªãŒã³ãªãŒããŒæ¡åŒµæ©èœã
- Orca: Linuxçšã®ç¡æãã€ãªãŒãã³ãœãŒã¹ã®ã¹ã¯ãªãŒã³ãªãŒããŒã
ã¹ã¯ãªãŒã³ãªãŒããŒã¯ããŠã§ããµã€ãã®åºç€ãšãªãã³ãŒããè§£éããã³ã³ãã³ããšæ§é ã«é¢ããæ å ±ããŠãŒã¶ãŒã«æäŸããããšã§æ©èœããŸãããŠã§ããµã€ãããã¹ã¯ãªãŒã³ãªãŒããŒã容æã«çè§£ããããã²ãŒãã§ããæ¹æ³ã§æ§é åãããŠããããšã極ããŠéèŠã§ãã
ãªãã¹ã¯ãªãŒã³ãªãŒããŒã®æé©åã¯éèŠãªã®ãïŒ
ãŠã§ããµã€ããã¹ã¯ãªãŒã³ãªãŒããŒåãã«æé©åããããšã«ã¯ãæ°å€ãã®å©ç¹ããããŸãïŒ
- å æ¬æ§: èŠèŠé害ãæã€ãŠãŒã¶ãŒããŠã§ããµã€ãã«å¹æçã«ã¢ã¯ã»ã¹ããå©çšã§ããããã«ããŸãã
- æ³çã³ã³ãã©ã€ã¢ã³ã¹: å€ãã®åœã«ã¯ãŠã§ãã¢ã¯ã»ã·ããªãã£ã矩åä»ããæ³åŸãèŠå¶ããããŸãïŒäŸïŒç±³åœã®é害ãæã€ã¢ã¡ãªã«äººæ³ïŒADAïŒãã«ããã®ãªã³ã¿ãªãªå·é害è ã¢ã¯ã»ã·ããªãã£æ³ïŒAODAïŒããšãŒãããã®EN 301 549ïŒã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäž: ã¢ã¯ã»ã·ãã«ãªãã¶ã€ã³ã¯ãéå®³ã®æç¡ã«ãããããããã¹ãŠã®ãŠãŒã¶ãŒã«ãšã£ãŠããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«ã€ãªããããšããããããŸãã
- ããåºããªãŒãã£ãšã³ã¹ãžã®ãªãŒã: ãŠã§ããµã€ããã¢ã¯ã»ã·ãã«ã«ããããšã§ããã倧ããªæœåšçãªãŒãã£ãšã³ã¹ã«éæžãéãããšã«ãªããŸãã
- SEO广: æ€çŽ¢ãšã³ãžã³ã¯ã¢ã¯ã»ã·ãã«ãªãŠã§ããµã€ãã奜ããããæ€çŽ¢ãšã³ãžã³ã©ã³ãã³ã°ã®åäžã«ã€ãªããå¯èœæ§ããããŸãã
ã¹ã¯ãªãŒã³ãªãŒããŒæé©åã®äž»èŠåå
以äžã®ååã¯ãã¹ã¯ãªãŒã³ãªãŒããŒã«åªãããŠã§ããµã€ããäœæããããã«äžå¯æ¬ ã§ãïŒ
1. ã»ãã³ãã£ãã¯HTML
ã»ãã³ãã£ãã¯HTMLèŠçŽ ãæ£ãã䜿çšããããšã¯ãã³ã³ãã³ãã«æ§é ãšæå³ãäžããäžã§æ¥µããŠéèŠã§ããã»ãã³ãã£ãã¯èŠçŽ ã¯ããŠã§ããµã€ãã®ããŸããŸãªéšåã®ç®çãã¹ã¯ãªãŒã³ãªãŒããŒã«äŒãããŠãŒã¶ãŒãããå¹ççã«ããã²ãŒãã§ããããã«ããŸãã
äŸïŒ
- ãµã€ãããããŒã«ã¯
<header>
ã䜿çšããŸãã - ããã²ãŒã·ã§ã³ã¡ãã¥ãŒã«ã¯
<nav>
ã䜿çšããŸãã - ã¡ã€ã³ã³ã³ãã³ããšãªã¢ã«ã¯
<main>
ã䜿çšããŸãã - ç¬ç«ããã³ã³ãã³ããããã¯ãã«ãã»ã«åããã«ã¯
<article>
ã䜿çšããŸãã - è£è¶³çãªã³ã³ãã³ãã«ã¯
<aside>
ã䜿çšããŸãã - ãµã€ãããã¿ãŒã«ã¯
<footer>
ã䜿çšããŸãã - èŠåºãã«ã¯
<h1>
ãã<h6>
ã䜿çšããŸãã - 段èœã«ã¯
<p>
ã䜿çšããŸãã - ãªã¹ãã«ã¯
<ul>
ãš<ol>
ã䜿çšããŸãã
ã³ãŒãäŸïŒ
<header>
<h1>My Website</h1>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</header>
<main>
<article>
<h2>Article Title</h2>
<p>This is the main content of the article.</p>
</article>
</main>
<footer>
<p>Copyright 2023</p>
</footer>
2. ç»åã®ä»£æ¿ããã¹ã
ç»åã«ã¯ããã®å 容ãšç®çãã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã«äŒããããã®ã説æçãªä»£æ¿ããã¹ãïŒaltããã¹ãïŒãåžžã«å«ããã¹ãã§ããaltããã¹ãã¯ç°¡æœã§æ å ±éã®å€ããã®ã§ããå¿ èŠããããŸãã
ãã¹ããã©ã¯ãã£ã¹ïŒ
- è£ é£Ÿçãªç»åãå«ããã¹ãŠã®ç»åã«altããã¹ããæäŸããŸãã
- altããã¹ãã¯ç°¡æœãã€èª¬æçã«ããŸãã
- ããã®ç»åããããã®åçãã®ãããªãã¬ãŒãºã®äœ¿çšãé¿ããŸãã
- è€éãªç»åã«ã¯ãé·ã説æïŒ
longdesc
屿§ãŸãã¯å¥ã®èª¬ææïŒã®äœ¿çšãæ€èšããŸãã - ç»åãçŽç²ã«è£
食çã§äœã®æå³ããããªãå Žåã¯ã空ã®alt屿§ïŒ
alt=""
ïŒã䜿çšããŠãã¹ã¯ãªãŒã³ãªãŒããŒããããèªã¿äžããªãããã«ããŸãã
ã³ãŒãäŸïŒ
<img src="logo.png" alt="Company Logo">
<img src="decorative.png" alt="">
3. ARIA屿§
ARIAïŒAccessible Rich Internet ApplicationsïŒå±æ§ã¯ãç¹ã«åçã³ã³ãã³ããè€éãªãŠã£ãžã§ããã«ã€ããŠãèŠçŽ ã®åœ¹å²ãç¶æ ãããããã£ã«é¢ããè¿œå æ å ±ãã¹ã¯ãªãŒã³ãªãŒããŒã«æäŸããŸããARIA屿§ã¯ãã»ãã³ãã£ãã¯HTMLã ãã§ã¯äžååãªå Žåã«ã¢ã¯ã»ã·ããªãã£ã匷åã§ããŸãã
äžè¬çãªARIA屿§ïŒ
- role: èŠçŽ ã®åœ¹å²ãå®çŸ©ããŸãïŒäŸïŒ
role="button"
ãrole="navigation"
ïŒã - aria-label: èŠèŠçãªã©ãã«ãååšããªããäžååãªå Žåã«ãèŠçŽ ã«ããã¹ãã©ãã«ãæäŸããŸãã
- aria-labelledby: èŠçŽ ãããã®ã©ãã«ãšããŠæ©èœããå¥ã®èŠçŽ ã«é¢é£ä»ããŸãã
- aria-describedby: èŠçŽ ãã説æãæäŸããå¥ã®èŠçŽ ã«é¢é£ä»ããŸãã
- aria-hidden: ã¹ã¯ãªãŒã³ãªãŒããŒããèŠçŽ ãé ããŸãã
- aria-live: èŠçŽ ã®ã³ã³ãã³ããåçã«æŽæ°ãããããšã瀺ããŸãïŒäŸïŒ
aria-live="polite"
ãaria-live="assertive"
ïŒã - aria-expanded: ééå¯èœãªèŠçŽ ãçŸåšå±éãããŠãããæããããŸããŠãããã瀺ããŸãã
- aria-haspopup: èŠçŽ ã«ãããã¢ããã¡ãã¥ãŒãããããšã瀺ããŸãã
ã³ãŒãäŸïŒ
<button role="button" aria-label="Close dialog" onclick="closeDialog()">X</button>
<div id="description">This is a description of the image.</div>
<img src="example.jpg" aria-describedby="description" alt="Example Image">
éèŠäºé ïŒ ARIA屿§ã¯æ éã«äœ¿çšããŠãã ãããARIAãé床ã«äœ¿çšãããšãã¢ã¯ã»ã·ããªãã£ã®åé¡ãåŒãèµ·ããå¯èœæ§ããããŸããåžžã«ãŸãã»ãã³ãã£ãã¯HTMLèŠçŽ ã䜿çšããARIAã¯ããã©ã«ãã®ã»ãã³ãã£ã¯ã¹ãè£å®ãŸãã¯äžæžãããããã«å¿ èŠãªå Žåã«ã®ã¿äœ¿çšããŠãã ããã
4. ããŒããŒãããã²ãŒã·ã§ã³
ãŠã§ããµã€ãäžã®ãã¹ãŠã®ã€ã³ã¿ã©ã¯ãã£ããªèŠçŽ ãããŒããŒãã®ã¿ã§æäœå¯èœã§ããããšã確èªããŠãã ãããããã¯ãããŠã¹ããã®ä»ã®ãã€ã³ãã£ã³ã°ããã€ã¹ã䜿çšã§ããªããŠãŒã¶ãŒã«ãšã£ãŠæ¥µããŠéèŠã§ããããŒããŒãããã²ãŒã·ã§ã³ã¯ããã©ãŒã«ã¹ã€ã³ãžã±ãŒã¿ã®é©åãªäœ¿çšãšè«ççãªã¿ãé ã«å€§ããäŸåããŸãã
ãã¹ããã©ã¯ãã£ã¹ïŒ
- ãã©ãŒã«ã¹ã€ã³ãžã±ãŒã¿: ãã¹ãŠã®ã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ïŒãªã³ã¯ããã¿ã³ããã©ãŒã ãã£ãŒã«ããªã©ïŒãéžæããããšãã«ãæç¢ºã§èŠèªå¯èœãªãã©ãŒã«ã¹ã€ã³ãžã±ãŒã¿ã衚瀺ãããããã«ããŸããCSSã䜿çšããŠ
:focus
ã®ç¶æ ãã¹ã¿ã€ã«èšå®ããŸãã - ã¿ãé : ã¿ãé ã¯ããŒãžã®è«ççãªèªã¿é ïŒéåžžã¯å·Šããå³ãäžããäžïŒã«åŸãã¹ãã§ããå¿
èŠã«å¿ããŠ
tabindex
屿§ã䜿çšããŠã¿ãé ã調æŽããŸããtabindex="0"
ãtabindex="-1"
ã¯ã誀ã£ãŠäœ¿çšãããšã¢ã¯ã»ã·ããªãã£ã®åé¡ãåŒãèµ·ããå¯èœæ§ãããããã絶察ã«å¿ èŠãªå Žåãé€ã䜿çšãé¿ããŠãã ããã - ããã²ãŒã·ã§ã³ã®ã¹ããããªã³ã¯: ããŒãžã®æäžéšã«ãããã²ãŒã·ã§ã³ãã¹ãããããããªã³ã¯ãæäŸãããŠãŒã¶ãŒãã¡ã€ã³ããã²ãŒã·ã§ã³ã¡ãã¥ãŒãè¿åããŠçŽæ¥ã¡ã€ã³ã³ã³ãã³ãã«ãžã£ã³ãã§ããããã«ããŸããããã¯ãç¹ã«ã¹ã¯ãªãŒã³ãªãŒããŒã䜿çšãããŠãŒã¶ãŒã«ãšã£ãŠãåããŒãžã§ç¹°ãè¿ãããããã²ãŒã·ã§ã³ãªã³ã¯ãäœåºŠããã©ãå¿ èŠããªããªãããéåžžã«åœ¹ç«ã¡ãŸãã
- ã¢ãŒãã«ãã€ã¢ãã°: ã¢ãŒãã«ãã€ã¢ãã°ãéããããšãã¯ããã€ã¢ãã°ãéãããããŸã§ãã©ãŒã«ã¹ããã®å éšã«çãŸãããã«ããŸãããŠãŒã¶ãŒããã€ã¢ãã°ã®å€ã«ã¿ãã§ç§»åã§ããªãããã«ããŸãã
ã³ãŒãäŸïŒããã²ãŒã·ã§ã³ã®ã¹ããããªã³ã¯ïŒïŒ
<a href="#main-content" class="skip-link">ã¡ã€ã³ã³ã³ãã³ããžã¹ããã</a>
<header>
<nav>
<!-- Navigation Menu -->
</nav>
</header>
<main id="main-content">
<!-- Main Content -->
</main>
ã³ãŒãäŸïŒãã©ãŒã«ã¹ã€ã³ãžã±ãŒã¿ã®CSSïŒïŒ
a:focus, button:focus, input:focus, textarea:focus, select:focus {
outline: 2px solid blue;
outline-offset: 2px;
}
5. ãã©ãŒã ã®ã¢ã¯ã»ã·ããªãã£
ãã©ãŒã ã¯å€ãã®ãŠã§ããµã€ãã®éèŠãªéšåã§ãããã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã«ãšã£ãŠã¢ã¯ã»ã·ãã«ã§ããããšãä¿èšŒããããšãäžå¯æ¬ ã§ããé©åãªã©ããªã³ã°ãæç¢ºãªæç€ºããããŠãšã©ãŒãã³ããªã³ã°ããã©ãŒã ã®ã¢ã¯ã»ã·ããªãã£ã«ã¯æ¥µããŠéèŠã§ãã
ãã¹ããã©ã¯ãã£ã¹ïŒ
- ã©ããªã³ã°:
<label>
èŠçŽ ã䜿çšããŠãã©ãã«ãšãã©ãŒã ãã£ãŒã«ããé¢é£ä»ããŸãã<label>
èŠçŽ ã®for
屿§ã¯ã察å¿ãããã©ãŒã ãã£ãŒã«ãã®id
屿§ãšäžèŽãããå¿ èŠããããŸãã - æç€º: ãã©ãŒã ã®å
¥åæ¹æ³ã«ã€ããŠãæç¢ºã§ç°¡æœãªæç€ºãæäŸããŸãã
aria-describedby
屿§ã䜿çšããŠãæç€ºãšãã©ãŒã ãã£ãŒã«ããé¢é£ä»ããŸãã - ãšã©ãŒãã³ããªã³ã°: ãšã©ãŒã¡ãã»ãŒãžãæç¢ºãã€ç®ç«ã€ããã«è¡šç€ºããŸãã
aria-live
屿§ã䜿çšããŠããšã©ãŒã¡ãã»ãŒãžãã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã«éç¥ããŸããaria-describedby
屿§ã䜿çšããŠããšã©ãŒã¡ãã»ãŒãžã察å¿ãããã©ãŒã ãã£ãŒã«ãã«é¢é£ä»ããŸãã - å¿
é ãã£ãŒã«ã: å¿
é ãã£ãŒã«ããèŠèŠçã«ãããã°ã©ã çã«ãæç¢ºã«ç€ºããŸãã
required
屿§ã䜿çšããŠå¿ é ãã£ãŒã«ããããŒã¯ããŸããaria-required
屿§ã䜿çšããŠããã£ãŒã«ããå¿ é ã§ããããšãã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã«ç€ºããŸãã - é¢é£ãã£ãŒã«ãã®ã°ã«ãŒãå:
<fieldset>
èŠçŽ ãš<legend>
èŠçŽ ã䜿çšããŠãé¢é£ãããã©ãŒã ãã£ãŒã«ããã°ã«ãŒãåããŸãã
ã³ãŒãäŸïŒ
<label for="name">Name:</label>
<input type="text" id="name" name="name" required aria-required="true">
<div id="name-instructions">Please enter your full name.</div>
<label for="name">Name:</label>
<input type="text" id="name" name="name" aria-describedby="name-instructions">
<form>
<fieldset>
<legend>Contact Information</legend>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required aria-required="true"><br><br>
<label for="phone">Phone:</label>
<input type="tel" id="phone" name="phone">
</fieldset>
</form>
6. åçã³ã³ãã³ãã®ã¢ã¯ã»ã·ããªãã£
ãŠã§ããµã€ãã®ã³ã³ãã³ããïŒAJAXãJavaScriptãªã©ãéããŠïŒåçã«å€åããå Žåãã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã«ãã®å€æŽãéç¥ãããããã«ããããšã極ããŠéèŠã§ããARIAã©ã€ããªãŒãžã§ã³ã䜿çšããŠãåçã³ã³ãã³ãã®æŽæ°ãéç¥ããŸãã
ARIAã©ã€ããªãŒãžã§ã³ïŒ
- aria-live="off": ããã©ã«ãå€ããªãŒãžã§ã³ã®æŽæ°ã¯éç¥ãããŸããã
- aria-live="polite": ãŠãŒã¶ãŒãã¢ã€ãã«ç¶æ ã®ãšãã«æŽæ°ãéç¥ããŸãããããæãäžè¬çã§æšå¥šãããå€ã§ãã
- aria-live="assertive": å³åº§ã«æŽæ°ãéç¥ãããŠãŒã¶ãŒã®æäœãäžæãããŸããéªéã«ãªãå¯èœæ§ãããããããã®å€ã¯æ éã«äœ¿çšããŠãã ããã
ã³ãŒãäŸïŒ
<div aria-live="polite" id="status-message"></div>
<script>
// When content is updated, update the status message
document.getElementById('status-message').textContent = "Content updated successfully!";
</script>
7. è²ã®ã³ã³ãã©ã¹ã
ããã¹ããšèæ¯è²ã®éã«ååãªè²ã®ã³ã³ãã©ã¹ããããããšã確èªããŠãã ãããããã¯ãããŒããžã§ã³ãè²èŠç°åžžã®ãŠãŒã¶ãŒã«ãšã£ãŠéèŠã§ãããŠã§ãã³ã³ãã³ãã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ïŒWCAGïŒã¯ãéåžžã®ããã¹ãã§å°ãªããšã4.5:1ã倧ããªããã¹ãã§3:1ã®ã³ã³ãã©ã¹ãæ¯ãèŠæ±ããŠããŸãã
è²ã®ã³ã³ãã©ã¹ãã確èªããããã®ããŒã«ïŒ
- WebAIM Color Contrast Checker (webaim.org/resources/contrastchecker/)
- Coolors (coolors.co)
- Adobe Color (color.adobe.com)
8. ã¡ãã£ã¢ã®ã¢ã¯ã»ã·ããªãã£
ãŠã§ããµã€ãã«é³å£°ãåç»ã³ã³ãã³ããå«ãŸããŠããå Žåã¯ãã³ã³ãã³ããèŠããèãããã§ããªããŠãŒã¶ãŒã®ããã«ä»£æ¿ææ®µãæäŸããŠãã ãããããã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- ãã£ãã·ã§ã³: ãã¹ãŠã®åç»ã³ã³ãã³ãã«ãã£ãã·ã§ã³ãæäŸããŸãããã£ãã·ã§ã³ã¯ãé³å£°ãã©ãã¯ã®åæãããããã¹ãçã§ãã
- ãã©ã³ã¹ã¯ãªããïŒæåèµ·ããïŒ: ãã¹ãŠã®é³å£°ããã³åç»ã³ã³ãã³ãã«ããã¹ãã®ãã©ã³ã¹ã¯ãªãããæäŸããŸãããã©ã³ã¹ã¯ãªããã«ã¯ããã¹ãŠã®çºè©±å 容ã«å ããéèŠãªé³ãèŠèŠçèŠçŽ ã®èª¬æãå«ããã¹ãã§ãã
- é³å£°è§£èª¬: åç»ã³ã³ãã³ãã«é³å£°è§£èª¬ãæäŸããŸããé³å£°è§£èª¬ã¯ãå šç²ãŸãã¯ããŒããžã§ã³ã®ãŠãŒã¶ãŒã®ããã«ãåç»ã®èŠèŠçèŠçŽ ããã¬ãŒã·ã§ã³ããŸãã
9. ã¹ã¯ãªãŒã³ãªãŒããŒã«ãããã¹ã
ãŠã§ããµã€ããã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã«ãšã£ãŠã¢ã¯ã»ã·ãã«ã§ããããšãä¿èšŒããæã广çãªæ¹æ³ã¯ãããŸããŸãªã¹ã¯ãªãŒã³ãªãŒããŒã§ãã¹ãããããšã§ããããã«ãããååšããå¯èœæ§ã®ããã¢ã¯ã»ã·ããªãã£ã®åé¡ãç¹å®ããä¿®æ£ããã®ã«åœ¹ç«ã¡ãŸãã
ãã¹ãããŒã«ïŒ
- æåãã¹ã: NVDAïŒç¡æïŒãJAWSïŒææïŒããŸãã¯VoiceOverïŒmacOSããã³iOSã«å èµïŒã®ãããªã¹ã¯ãªãŒã³ãªãŒããŒã䜿çšããŠãŠã§ããµã€ããæäœããŸããäžè¬çãªã¿ã¹ã¯ãã€ã³ã¿ã©ã¯ã·ã§ã³ãå®äºãããŠã¿ãŠãã ããã
- èªåãã¹ã: ã¢ã¯ã»ã·ããªãã£ãã¹ãããŒã«ã䜿çšããŠãæœåšçãªã¢ã¯ã»ã·ããªãã£ã®åé¡ãç¹å®ããŸãããããã®ããŒã«ã¯äžè¬çãªãšã©ãŒãçºèŠããã®ã«åœ¹ç«ã¡ãŸãããæåãã¹ãã®ä»£ãããšããŠäœ¿çšãã¹ãã§ã¯ãããŸããã代衚çãªã¢ã¯ã»ã·ããªãã£ãã¹ãããŒã«ã«ã¯ä»¥äžã®ãããªãã®ããããŸãïŒ
- WAVE (Web Accessibility Evaluation Tool)
- axe DevTools
- Lighthouse (in Chrome DevTools)
ã¹ã¯ãªãŒã³ãªãŒããŒã§ãã¹ãããéã®ãã³ãïŒ
- åºæ¬ãåŠã¶: 䜿çšããŠããã¹ã¯ãªãŒã³ãªãŒããŒã®åºæ¬çãªã³ãã³ããšããã²ãŒã·ã§ã³æè¡ã«æ £ã芪ããã§ãã ããã
- ç°ãªãã¹ã¯ãªãŒã³ãªãŒããŒã䜿çšãã: åã¹ã¯ãªãŒã³ãªãŒããŒã¯ãŠã§ãã³ã³ãã³ããç°ãªãæ¹æ³ã§è§£éãããããããŸããŸãªã¹ã¯ãªãŒã³ãªãŒããŒã§ãŠã§ããµã€ãããã¹ãããŠãã ããã
- é害ã®ãããŠãŒã¶ãŒãå·»ã蟌ã: ãŠã§ããµã€ããã¢ã¯ã»ã·ãã«ã§ããããšãä¿èšŒããæåã®æ¹æ³ã¯ããã¹ãããã»ã¹ã«é害ã®ãããŠãŒã¶ãŒãé¢äžãããããšã§ããã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒããããŠã§ããµã€ãã®ãŠãŒã¶ããªãã£ãšã¢ã¯ã»ã·ããªãã£ã«é¢ãããã£ãŒãããã¯ãåŸãŠãã ããã
WCAGïŒãŠã§ãã³ã³ãã³ãã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ïŒ
ãŠã§ãã³ã³ãã³ãã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ïŒWCAGïŒã¯ããŠã§ãã³ã³ãã³ããããã¢ã¯ã»ã·ãã«ã«ããããã®åœéçã«èªç¥ãããäžé£ã®ã¬ã€ãã©ã€ã³ã§ããWCAGã¯World Wide Web ConsortiumïŒW3CïŒã«ãã£ãŠçå®ããããŠã§ãã¢ã¯ã»ã·ããªãã£ã®æšæºãšããŠåºã䜿çšãããŠããŸãã
WCAGã¯ãPOURãšããŠç¥ããã4ã€ã®ååãäžå¿ã«æ§æãããŠããŸãïŒ
- ç¥èŠå¯èœ (Perceivable): æ å ±ããã³ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®ã³ã³ããŒãã³ãã¯ããŠãŒã¶ãŒãç¥èŠã§ããæ¹æ³ã§æç€ºå¯èœã§ãªããã°ãªããªãã
- æäœå¯èœ (Operable): ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®ã³ã³ããŒãã³ãããã³ããã²ãŒã·ã§ã³ã¯ãæäœå¯èœã§ãªããã°ãªããªãã
- çè§£å¯èœ (Understandable): æ å ±ããã³ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®æäœã¯ãçè§£å¯èœã§ãªããã°ãªããªãã
- å ç¢ (Robust): ã³ã³ãã³ãã¯ãæ¯æŽæè¡ãå«ãããŸããŸãªãŠãŒã¶ãŒãšãŒãžã§ã³ãã確å®ã«è§£éã§ããã»ã©å ç¢ã§ãªããã°ãªããªãã
WCAGã¯ãAãAAãAAAã®3ã€ã®é©åã¬ãã«ã«åãããŠããŸããã¬ãã«Aã¯æãåºæ¬çãªã¢ã¯ã»ã·ããªãã£ã®ã¬ãã«ã§ãããã¬ãã«AAAãæé«ã¬ãã«ã§ããã»ãšãã©ã®çµç¹ã¯ã¬ãã«AAãžã®é©åãç®æããŠããŸãã
çµè«
ãŠã§ããµã€ããã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã®ããã«æé©åããããšã¯ãçã«å æ¬çã§ã¢ã¯ã»ã·ãã«ãªãªã³ã©ã€ã³äœéšãåµé ããããã®äžå¯æ¬ ãªäžæ©ã§ãããã®ã¬ã€ãã§æŠèª¬ããååãšãã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ãéå®³ã®æç¡ã«ãããããããã¹ãŠã®ãŠãŒã¶ãŒãããªãã®ãŠã§ããµã€ãã«ã¢ã¯ã»ã¹ã§ããããã«ããããšãã§ããŸãã
ãŠã§ãã¢ã¯ã»ã·ããªãã£ã¯ç¶ç¶çãªããã»ã¹ã§ããããšãå¿ããªãã§ãã ããã宿çã«ãŠã§ããµã€ããã¹ã¯ãªãŒã³ãªãŒããŒãã¢ã¯ã»ã·ããªãã£ãã¹ãããŒã«ã§ãã¹ãããææ°ã®ã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ãšãã¹ããã©ã¯ãã£ã¹ãåžžã«ææ¡ããŠãããŸããããã¢ã¯ã»ã·ããªãã£ãåªå ããããšã§ããã¹ãŠã®äººã«ãšã£ãŠããè¯ããŠã§ããåµé ããããšãã§ããŸãã
åèãªãœãŒã¹ïŒ
- WebAIM: https://webaim.org/
- W3C Web Accessibility Initiative (WAI): https://www.w3.org/WAI/
- Deque University: https://dequeuniversity.com/